// 修改模块
import * as server from '@/utils/http'
import URL from '@/environment/global'
import {
  arrangeDataList
} from '@/mock/menu'
// 解构赋值
let { HTTP_URL } = URL

/**
 * 修改系别
 * method: PUT,
 * @param new_name | 修改后的系别名称
 */
export function changeDepartInfo (id, params = {}) {
  return server.put(`${HTTP_URL}/department/${id}`, params)
}

/**
 * 修改菜单
 * method: PUT
 * @param id | 菜单id
 * @param menu_name | 菜单名称
 * @param menu_state | 菜单状态(0: 关闭, 1: 开启)
 * @param menu_parent | 父级菜单
 * @param menu_url | 菜单指向url 默认为null
 * @param default_img | 默认图标 默认为null
 * @param focus_img | 焦点图标 默认为null
 */
export function changeMenuInfo (id, params = {}) {
  return server.put(`${HTTP_URL}/menu/${id}`, params)
}

/**
 * 修改角色基础信息
 * method: PUT
 * @param id | 角色id
 * @param role_name String | 角色名称
 * @param pris_no String 角色权限
 */
export function changeRoleInfo (id, params = {}) {
  params.pris_no = Object.prototype.toString.call(params.pris_no) === '[object Array]' ? arrangeDataList(params.pris_no, true) : params.pris_no
  return server.put(`${HTTP_URL}/role/${id}`, params)
}

/**
 * 修改角色权限
 * method: POST
 * @param role_id | 角色id
 * @param pris_no | 角色权限 逗号隔开 String
 */
export function changeRolePower (params = {}) {
  return server.post(`${HTTP_URL}/role/update/pris`, params)
}

/**
 * 修改用户
 * method: PUT
 * @param id | 用户id
 * @param name | 用户名
 * @param password | 密码
 * @param role_ids | 角色id
 * @param unit_code | 单位代码 默认为null
 * @param unit_name | 单位名称 默认为null
 * @param state | 用户状态 (冻结：0，正常：1，删除：2)
 */
export function changeSingleUser (id, params = {}) {
  params.role_ids = arrangeDataList(params.role_ids, true)
  return server.put(`${HTTP_URL}/user/${id}`, params)
}

/**
 * 修改预算编制阶段
 * method: PUT
 * @param start_time | 预算开始时间
 * @param end_time | 预算结束时间
 * @param budget_end_time | 编制结束时间
 * @param kind | 预算编制类型(1行政2教学3公共)
 * @param state | 预算编制状态(1开启0关闭)
 */
export function changeStage (id, params = {}) {
  return server.put(`${HTTP_URL}/budget/time/${id}`, params)
}

/**
 * 修改预算外编制类型
 * method: PUT
 */
export function changeCategoryOffBudget (id, params = {}) {
  return server.put(`${HTTP_URL}/off/budget/category/${id}`, params)
}

/**
 * 修改预算外编制内容
 * method: PUT
 */
export function changeContentOffBudget (id, params = {}) {
  return server.put(`${HTTP_URL}/off/budget/sum/${id}`, params)
}

/**
 * 修改执行阶段报单类型
 * method: PUT
 */
export function changeCategoryExecuteStage (id, params = {}) {
  return server.put(`${HTTP_URL}/bill/category/${id}`, params)
}

/**
 * 修改预算申报
 * @param {String} id 修改的报单id
 * @param {String | Number} money 金额
 * @param {String | Number} number 数量
 * @param {String} additional_content 附加信息
 * @param {String} additional_file 附加文件
 * @param {String} name 信息
 * @param {String | Number} kind 类型(1行政 2教学)
 */
export function changeBudgetWrite (id, params = {}) {
  console.log(id)
  return server.post(`${HTTP_URL}/budget/write/${id}/update`, params)
}

/**
 * 修改报单
 */
export function changeBillWrite (id, params = {}) {
  console.log(params)
  return server.put(`${HTTP_URL}/bill/write/${id}`, params)
}
